package com.hejing.迭代器的使用与增强for循环;

import org.junit.Test;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

/**
 * ClassName: IteratorTest
 * Package: com.hejing.迭代器的使用与增强for循环
 * Description:
 *
 * @Author: HeJing
 * @Create: 2023-05-02 19:02
 * @Version: 1.0
 */
public class IteratorTest {
    @Test
    public void test01(){
        Collection coll = new ArrayList();
        coll.add("AA");
        coll.add("BB");
        coll.add("CC");
        coll.add(true);
        coll.add(new Person("赵雷", 32));

        // 获取迭代器对象
        Iterator iterator = coll.iterator();  // 使用了多态, 此处的Iterator是一个接口

        // 使用迭代方式遍历元素的方式1:
        // System.out.println(iterator.next());
        // System.out.println(iterator.next());
        // System.out.println(iterator.next());
        // System.out.println(iterator.next());
        // System.out.println(iterator.next());

        // System.out.println(iterator.next()); 如果超出了集合中元素的个数，会报NoSuchElementException异常，

        // 使用迭代方式遍历元素的方式2:
     /*   for (int i = 0; i < coll.size(); i++) {
            System.out.println(iterator.next());
        }*/

        // 使用迭代方式遍历元素的方式3: (此种方式用得最多)
        // hasNext(): 如果next()还能取到元素，则返回true, 否则返回false
        while(iterator.hasNext()) {
            System.out.println(iterator.next());
        }
    }

    @Test
    public void test02(){
        Collection coll = new ArrayList();
        coll.add("AA");
        coll.add("BB");
        coll.add("CC");
        coll.add(true);
        coll.add(new Person("赵雷", 32));

        // 获取迭代器对象
        Iterator iterator = coll.iterator();  // 使用了多态, 此处的Iterator是一个接口

    }
}






























